package com.neusoft.bizcore.activiti.service;

import java.io.InputStream;

import com.neusoft.bizcore.activiti.dto.ProcessBpmnDTO;
import com.neusoft.bizcore.activiti.dto.ProcessNodeDTO;

public interface MoldDefinitionService {

    /**
     * description: 创建一个流程信息--BPMN
     *
     * @param dto 流程信息
     */
    void create(ProcessBpmnDTO dto);

    /**
     * description: 删除一个流程信息--BPMN
     *
     * @param processKey 流程定义KEY
     */
    void delete(String processKey);

    /**
     * description: 查看流程信息--BPMN
     *
     * @param id 流程模板ID
     * @return String
     */
    ProcessBpmnDTO details(String id);

    /**
     * description: 获取开始节点信息
     *
     * @param type 工单类型
     * @return
     */
    ProcessNodeDTO getStartForm(String type);

    /**
     * 导入xml文件并部署
     *
     * @param code
     * @param file
     */
    void upload(String code, InputStream file);

}
